<?php
/*
 *	Autor: Augusto Rabelo Azevedo Barbosa 
 *	Email: augustogcl@gmail.com
 *	Versão: 3.0.2
 *
 *	Data da geração do arquivo: 04-11-2014 as 16:23:47
 *	Referente ao banco de dados: trct
 */

class Cnd_Model extends CI_Model {

	private $cnd_id;
	private $cnd_empresa;
	private $cnd_tipo;
	private $cnd_enderecoArquivo;
	private $cnd_dataValidade;

	public function __construct($cnd_id="",$cnd_empresa="",$cnd_tipo="",$cnd_enderecoArquivo="",$cnd_dataValidade="") {
		$this->cnd_id = $cnd_id;
		$this->cnd_empresa = $cnd_empresa;
		$this->cnd_tipo = $cnd_tipo;
		$this->cnd_enderecoArquivo = $cnd_enderecoArquivo;
		$this->cnd_dataValidade = $cnd_dataValidade;
	}



	// METODOS GETS


	public function getCnd_id() {
		return $this->cnd_id;
	}

	public function getCnd_empresa() {
		return $this->cnd_empresa;
	}

	public function getCnd_tipo() {
		return $this->cnd_tipo;
	}

	public function getCnd_enderecoArquivo() {
		return $this->cnd_enderecoArquivo;
	}

	public function getCnd_dataValidade() {
		return $this->cnd_dataValidade;
	}



	// METODOS SETS


	public function setCnd_id($cnd_id) {
		$this->cnd_id = $cnd_id;
	}

	public function setCnd_empresa($cnd_empresa) {
		$this->cnd_empresa = $cnd_empresa;
	}

	public function setCnd_tipo($cnd_tipo) {
		$this->cnd_tipo = $cnd_tipo;
	}

	public function setCnd_enderecoArquivo($cnd_enderecoArquivo) {
		$this->cnd_enderecoArquivo = $cnd_enderecoArquivo;
	}

	public function setCnd_dataValidade($cnd_dataValidade) {
		$this->cnd_dataValidade = $cnd_dataValidade;
	}

	public function inserir($cnd) {
			if($this->db->insert('cnd',$cnd)){
			 set_notificacao(array(0=>array('tipo'=>7,'mensagem'=>'Dados Salvos com sucesso!')));
			 return $this->db->insert_id();
			}else{

			 set_notificacao(array(0=>array('tipo'=>2,'mensagem'=>'Dados Não salvos com sucesso!')));
			 return false;
		}

	}

	public function editar($cnd,$cnd_id) {

            if($this->db->where('cnd_id',$cnd_id)->update('cnd',$cnd)){
			 set_notificacao(array(0=>array('tipo'=>7,'mensagem'=>'Dados Salvos com sucesso!')));
			 return $cnd_id;
			}else{
			 set_notificacao(array(0=>array('tipo'=>2,'mensagem'=>'Dados Não salvos com sucesso!')));
			 return false;
		}

	}

	public function excluir($cnd_id) {
			if($this->db->where('cnd_id',$cnd_id)->delete('cnd')){
			 set_notificacao(array(0=>array('tipo'=>1,'mensagem'=>'Dados Salvos com sucesso!')));
			}else{
			 set_notificacao(array(0=>array('tipo'=>2,'mensagem'=>'Dados Não salvos com sucesso!')));
			 return false;
		}

	}

	public function getDados($cnd_id) {
		 $dados = $this->db 
			 ->where('cnd_id',$cnd_id)
			 ->get('cnd')
		 ->row();
		 return $dados;
	}

	public function getDadosTodos() {
		 $dados = $this->db 
			 ->get('cnd')
		 ->result();
		 return $dados;
	}
	
        
        public function qtdTodosTipo($tipo) {
		 $dados = $this->db 
                         ->where('cnd_tipo =', $tipo)
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
        
        public function qtdTodosTipoEmDia($tipo) {
		 $dados = $this->db 
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->where('cnd_tipo =', $tipo)
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->where('cnd_dataValidade > CURDATE()')
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
        
         public function qtdTodosTipoVencida($tipo) {
		 $dados = $this->db 
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->where('cnd_tipo =', $tipo)
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->where('cnd_dataValidade < CURDATE()')
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
         public function qtdTodosTipoComPendencia($tipo) {
		 $dados = $this->db 
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->join('pendencias','cnd_id = pendencias_cnd')
                         ->where('cnd_tipo =', $tipo)
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        public function qtdTodosTipoSemPendencia($tipo) {
		 $dados = $this->db 
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->join('pendencias','cnd_id = pendencias_cnd','left')
                         ->where('cnd_tipo =', $tipo)
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->where('pendencias_cnd is null')
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
        
        
         public function qtdTodosVencerTipoDia($tipo,$dias) {
             
                if($dias == 'D'){
                    
                    
                     $this->db 
                            ->where('DATEDIFF(cnd_dataValidade, CURDATE()) > ',30);
                    
                    
                }else{
                    
                    $this->db 
                            ->where('DATEDIFF(cnd_dataValidade, CURDATE()) > ',$dias-10)
                            ->where('DATEDIFF(cnd_dataValidade, CURDATE()) < ',$dias);
                    
                }
             
		 $dados = $this->db 
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->where('cnd_tipo =', $tipo)
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
        
        
        public function porcentagem($valor, $total) {

        if ($valor == 0) {
            $porcentagem = 0;
        }
        if ($total == 0) {
            $porcentagem = 0;
        }

        if ($valor != 0 && $total != 0) {
            $porcentagem = (100 * $valor) / ($total);
        }
        return round($porcentagem)."%";
    }
    
    
    
    
    
    
    
     public function qtdTodosAmbitoGeral($ambito,$tipo) {
		 
         
                    if($tipo == 1){
                        $this->db 
                        ->where('cnd_dataValidade > CURDATE()');
                    }else if($tipo == 2){
                        $this->db 
                        ->where('cnd_dataValidade < CURDATE()');
                    }
                    
                    
                    $dados = $this->db 
                          ->join('tipocnd', 'tipoCnd_id = cnd_tipo')
                         ->join('ambitocnd', 'ambitocnd_id = tipocnd_ambito')
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->where('contratos_id',get_contrato()->contratos_id)
                         

                         ->where('ambitocnd_id', $ambito)

                         
                         
                         
                         
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
    
    
    
    
    
    
    
    public function qtdTodosAmbitoDias($ambito,$dias) {
		 $dados = $this->db 
                         ->where('ambitocnd_id', $ambito)
                         ->where('tipoCnd_validade', $dias)
                         ->join('tipocnd', 'tipoCnd_id = cnd_tipo')
                         ->join('ambitocnd', 'ambitocnd_id = tipocnd_ambito')
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
        
         public function qtdQtdeEmpresasContrato() {
		 $dados = $this->db 
                         
                         
                         ->where(array('contratos_id' => get_contrato()->contratos_id))
            ->join('grupospessoas', 'grupospessoas_pessoa = pessoas_id')
            ->join('grupos', 'grupos_id = grupospessoas_grupo')
            ->join('contratos', 'grupos_idcontrato = contratos_id')
            ->select('count(pessoas_id) as total')
            ->get('pessoas')
            ->row();
                 
		 return $dados;
	}
        
        
        
        public function qtdTodosAmbitoDiasEmDia($ambito,$dias) {
		 $dados = $this->db 
                          ->join('tipocnd', 'tipoCnd_id = cnd_tipo')
                         ->join('ambitocnd', 'ambitocnd_id = tipocnd_ambito')
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         
                         ->where('ambitocnd_id', $ambito)
                         ->where('tipoCnd_validade', $dias)
                         
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->where('cnd_dataValidade > CURDATE()')
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
        
         public function qtdTodosAmbitoDiasVencida($ambito,$dias) {
		 $dados = $this->db 
                          ->join('tipocnd', 'tipoCnd_id = cnd_tipo')
                         ->join('ambitocnd', 'ambitocnd_id = tipocnd_ambito')
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         
                         ->where('ambitocnd_id', $ambito)
                         ->where('tipoCnd_validade', $dias)
                         
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->where('cnd_dataValidade < CURDATE()')
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
    
         public function qtdTodosAmbitoSemPendencia($ambito,$dias) {
		 $dados = $this->db 
                          ->join('tipocnd', 'tipoCnd_id = cnd_tipo')
                         ->join('ambitocnd', 'ambitocnd_id = tipocnd_ambito')
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->join('pendencias','cnd_id = pendencias_cnd','left')
                        
                          ->where('ambitocnd_id', $ambito)
                         ->where('tipoCnd_validade', $dias)
                         
                         
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->where('pendencias_cnd is null')
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
         public function qtdTodosAmbitoComPendencia($ambito,$dias) {
		 $dados = $this->db 
                          ->join('tipocnd', 'tipoCnd_id = cnd_tipo')
                         ->join('ambitocnd', 'ambitocnd_id = tipocnd_ambito')
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->join('pendencias','cnd_id = pendencias_cnd')
                         
                           ->where('ambitocnd_id', $ambito)
                         ->where('tipoCnd_validade', $dias)
                         
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
        
        
        
         public function qtdTodosVencerAmbitoDia($ambito,$validade,$dias) {
             
                if($dias == 'D'){
                    
                    
                     $this->db 
                            ->where('DATEDIFF(cnd_dataValidade, CURDATE()) > ',30);
                    
                    
                }else{
                    
                    $this->db 
                            ->where('DATEDIFF(cnd_dataValidade, CURDATE()) > ',$dias-10)
                            ->where('DATEDIFF(cnd_dataValidade, CURDATE()) < ',$dias);
                    
                }
             
		 $dados = $this->db 
                         ->join('tipocnd', 'tipoCnd_id = cnd_tipo')
                         ->join('ambitocnd', 'ambitocnd_id = tipocnd_ambito')
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         
                          ->where('ambitocnd_id', $ambito)
                         ->where('tipoCnd_validade', $validade)
                         
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
        
    
     public function qtdTodosEmDia($empresa,$ambito,$orgao) {
         
         
                        if($empresa != ''){
                            $this->db 
                            ->where('pessoas_id ',$empresa);
                        }
                        if($ambito != ''){
                            $this->db 
                            ->where('tipocnd_ambito ',$ambito);
                        }
         
		 $dados = $this->db 
                          ->join('tipocnd', 'tipoCnd_id = cnd_tipo')
                         ->join('ambitocnd', 'ambitocnd_id = tipocnd_ambito')
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->where('cnd_dataValidade > CURDATE()')
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
    
        
        
        

        
         public function qtdTodosVencida($empresa,$ambito,$orgao) {
             
             
                if($empresa != ''){
                    $this->db 
                    ->where('pessoas_id ',$empresa);
                }
                if($ambito != ''){
                    $this->db 
                    ->where('tipocnd_ambito ',$ambito);
                }
             
             
		 $dados = $this->db 
                          ->join('tipocnd', 'tipoCnd_id = cnd_tipo')
                         ->join('ambitocnd', 'ambitocnd_id = tipocnd_ambito')
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         
//                         ->where('ambitocnd_id', $ambito)
//                         ->where('tipoCnd_validade', $dias)
                         
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->where('cnd_dataValidade < CURDATE()')
                         ->select('count(cnd_id) as total')
			 ->get('cnd')
		 ->row();
                 
		 return $dados;
	}
        
        
        
         public function documentosQuantidade() {
             
             
		 $dados = $this->db 
                         ->join('tipocnd','   tipocnd_id = cnd_tipo')
                          ->join('ambitocnd', 'ambitocnd_id = tipocnd_ambito')
                         ->join('pessoas','pessoas_id = cnd_pessoa')
                         ->join('grupospessoas','grupospessoas_pessoa = pessoas_id')
                         ->join('grupos','grupospessoas_grupo = grupos_id')
                         ->join('contratos','contratos_id = grupos_idcontrato')
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->where('contratos_id',get_contrato()->contratos_id)
                         ->select('count(cnd_id) as total, tipoCnd_descricao')
                         ->group_by('tipoCnd_id')
			 ->get('cnd')
		 ->result();
                 
		 return $dados;
	}
        
        
}
?>